It is well known for server computers to communicate with client computers via the Internet. Client computers typically include web browsers to interface to servers and other computers and devices connected to the Internet. It was known for a server computer to send a script program to a client computer to operate the web browser of the client computer. For example, the server can download both a web page and a script program to the client computer, and the script program can direct the web browser to display a window on the web page.
Occasionally, the script program fails to accomplish its intended function. The following are examples of possible types of failures of the script program: the client computer has insufficient memory to perform the function directed by the script program, the script program attempts to access a window function or method that is not present in the client computer, or the script program attempts to set/write a value for a parameter but only has read access to the parameter. It was known for the web browser to report back to the server any problems with the attempted execution of the script program, for logging and evaluation at the server computer. The web browser can detect the problem either through inherent problem detection code or from “try/catch” code included with the script program. The “try/catch” code is known in Java programming. The “try/catch” code directs the web browser to execute the script program as indicated by the “try” code, and if there is a problem, direct the web browser to notify a server of the problem as indicated by the “catch” code. However, it is often difficult to correlate the script problem report received from the client computer to the server application and server application module that generated the script program, particularly when the server sends script programs to many client computers concurrently. For example, a server program may have many program modules that generate and send the same or similar script program to different client computers. Moreover, some server programs send their script programs to a common program module in the server which then sends the script programs to the client computers. This complicates the process of correlating each script program to the server program module which generated the script program. Moreover, some server programs dynamically generate their script programs, and this further complicates the process of correlating the script program to the server program module which originated it.
Accordingly, a general object of the present invention is to correlate problems with execution of each script program at a client computer with the server program that generated the script program.
Another object of the present invention is to correlate problems with execution of each script program at a client computer with the server program portion that generated the script program.